package com.ruoyi.iot.domain.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * 设备故障记录实体，对应 iot_device_fault_record 表。
 */
@Data
@Schema(description = "设备故障记录实体")
public class DeviceFaultRecord {

    /** 主键ID */
    @Schema(description = "主键ID")
    private Long id;

    /** 设备编号 */
    @Schema(description = "设备编号")
    private String deviceId;

    /** 事件发生时间（IoTDB 时间戳） */
    @Schema(description = "事件发生时间")
    private LocalDateTime eventTime;

    /** 快速重合闸动作标志 */
    @Schema(description = "快速重合闸动作标志")
    private Integer quickStrikeAction;

    /** 过流保护动作标志 */
    @Schema(description = "过流保护动作标志")
    private Integer overcurrentProtectionAction;

    /** 热保护动作标志 */
    @Schema(description = "热保护动作标志")
    private Integer thermalProtectAction;

    /** 超压动作标志 */
    @Schema(description = "超压动作标志")
    private Integer overpressureAction;

    /** 过热预警标志 */
    @Schema(description = "过热预警标志")
    private Integer heatProtectedWarn;

    /** 零序过流告警标志 */
    @Schema(description = "零序过流告警标志")
    private Integer zeroSequenceOvercurrentAlarm;

    /** 负载预警标志 */
    @Schema(description = "负载预警标志")
    private Integer loadWarn;

    /** 主机告警总次数 */
    @Schema(description = "主机告警总次数")
    private Integer totalAlarmCount;

    /** 主机事故总次数 */
    @Schema(description = "主机事故总次数")
    private Integer totalFaultCount;

    /** 创建时间 */
    @Schema(description = "记录创建时间")
    private LocalDateTime createdAt;

    /** 更新时间 */
    @Schema(description = "记录更新时间")
    private LocalDateTime updatedAt;
}
